<?php
/**
 * 管理中心· 插件模块的逻辑处理
 * ============================================================================
 * 版权所有 2018-2025 北京优特世纪科技有限公司，并保留所有权利。
 * 网站地址: http://www.unitewww.com;
 * ============================================================================
 * 这不是一个自由软件！您只能在不用于商业目的的前提下对程序代码进行修改和使用；
 * 不允许对程序代码以任何形式任何目的的再发布。
 * ============================================================================
 * @since: 1.0
 * @version: 1.0
 **/
header('Content-type:text/html;charset=utf-8');
/**
 * 发送短信逻辑
 * @param $scene 使用场景 1【用户注册】2【密码找回】3【身份认证】4【注册成功】5【注册成功】6【用户下单】7【订单发货】
 * @param $tel 发送机号
 * @param $param 参数
 * @param $unique_id 唯一值
 * @param unknown $scene
 */
function sendSms($scene, $tel, $param, $unique_id=0){
    //实例化相关表
    $smident = M('sms');
    $plident = M('plugin');
    //使用Vendor加载第三方类库发送库
    vendor('aliyun.SignatureHelper');
    //插件配置参数
    $plFind = $plident->where("`pl_code`='aliyun'")->find();
    $option = unserialize($plFind['pl_value']);
    $accessKeyId     = $option['keyId'];
    $accessKeySecret = $option['keySecret'];
    $accessSignName  = $option['smsSign'];
    //$param['product'] = $accessSignName;
    //接收值
    $code  = !empty($param['code']) ? $param['code'] : false;
    $consi = !empty($param['consi']) ? $param['consi'] : false;
    $uname = !empty($param['uname']) ? $param['uname'] : false;
    $batch = !empty($param['batch']) ? $param['batch'] : false;
    $sname = !empty($param['shopname']) ? $param['shopname'] : false;
    $ordsn = $param['ordsn'];

    if(empty($unique_id)){
        $session_id = session_id();
    }else{
        $session_id = $unique_id;
    }
    $smsParams = array(
        1 => "{\"code\":\"$code\"}",    //用户注册
        2 => "{\"code\":\"$code\"}",    //密码找回
        3 => "{\"code\":\"$code\"}",    //交易验证
        4 => "{\"uname\":\"$uname\"}",  //注册成功,初始密码123456
        5 => "{\"uname\":\"$uname\",\"shopname\":\"$sname\"}", //注册成功XX平台会员
        6 => "{\"batch\":\"$batch\",\"consi\":\"$consi\"}",  //客户下单
        7 => "{\"ordsn\":\"$ordsn\",\"consi\":\"$consi\"}",  //订单发货
    );
    $smsParam = $smsParams[$scene];
    //提取发送短信内容
    $scenes = C('SEND_SCENE');
    $msg = $scenes[$scene][1];
    $params_arr = json_decode($smsParam);
    foreach ($params_arr as $k => $v) {
        $msg = str_replace('${'.$k.'}', $v, $msg);
    }
    $params["PhoneNumbers"] = $tel;//手机号
    $params["SignName"]     = $accessSignName;//短信签名
    $params["TemplateCode"] = $scenes[$scene][3];//模板code
    $params['TemplateParam']= $param;
    //dump($params);die;
    if(!empty($params["TemplateParam"]) && is_array($params["TemplateParam"])){
        $params["TemplateParam"] = json_encode($params["TemplateParam"], JSON_UNESCAPED_UNICODE);
    }
    $helper = new \SignatureHelper();
    $content = $helper->request($accessKeyId, $accessKeySecret, "dysmsapi.aliyuncs.com",
        array_merge($params, array(
            "RegionId" => "cn-hangzhou",
            "Action" => "SendSms",
            "Version" => "2017-05-25",
        ))
        );
    $arr = array(
        'sm_phone'   => $tel,
        'sm_session' => $session_id,
        'sm_atime'   => time(),
        'sm_code'    => $code,
        'sm_msg'     => $msg,
        'sm_scene'   => $scene
    );
    //dump($content);die;
    if($content->Code == 'OK'){
        $arr['sm_state'] = '1';
        $smident->add($arr);  //记录短信内容
        return array('status' => 1, 'msg' => "发送成功");
    }else{
        $arr['sm_state']    = '0';
        $arr['sm_error_msg']= aliyuncode($content->Code);
        $smident->add($arr);  //记录短信内容
        return array('status' => -1, 'msg' => "发送失败,错误原因：".aliyuncode($content->Code));
    }
}
/**
 * 发送短信（错误码列表）
 * @return bool  返回code
 */
function aliyuncode($code){
    $arr = array(
        'OK'  => '请求成功',
        'isp.RAM_PERMISSION_DENY'         =>'RAM权限DENY',
        'isv.OUT_OF_SERVICE'              => '业务停机',
        'isv.PRODUCT_UN_SUBSCRIPT'        => '未开通云通信产品的阿里云客户',
        'isv.PRODUCT_UNSUBSCRIBE'         => '产品未开通',
        'isv.ACCOUNT_NOT_EXISTS'          => '账户不存在',
        'isv.ACCOUNT_ABNORMAL'            => '账户异常',
        'isv.SMS_TEMPLATE_ILLEGAL'        => '短信模板不合法',
        'isv.SMS_SIGNATURE_ILLEGAL'       => '短信签名不合法',
        'isv.INVALID_PARAMETERS'          => '参数异常',
        'isp.SYSTEM_ERROR'                => '系统错误',
        'isv.MOBILE_NUMBER_ILLEGAL'       => '非法手机号',
        'isv.MOBILE_COUNT_OVER_LIMIT'     => '手机号码数量超过限制',
        'isv.TEMPLATE_MISSING_PARAMETERS' => '模板缺少变量',
        'isv.BUSINESS_LIMIT_CONTROL'      => '业务限流',
        'isv.INVALID_JSON_PARAM'          => 'JSON参数不合法，只接受字符串值',
        'isv.BLACK_KEY_CONTROL_LIMIT'     => '黑名单管控',
        'isv.PARAM_LENGTH_LIMIT'          => '参数超出长度限制',
        'isv.PARAM_NOT_SUPPORT_URL'       => '不支持URL',
        'isv.AMOUNT_NOT_ENOUGH'           => '账户余额不足'
    );
    return $arr[$code];
}
/**
 +--------------------------------------------------------------------------
 * 检测是否能够发送短信
 * @param unknown $scene
 * @return multitype:number string
 +--------------------------------------------------------------------------
 */
function checkEnableSendSms($scene){
    $scenes = C('SEND_SCENE');   //获取配置文件参数
    $config = tpCache("sMes");  //获取系统参数

    $sceneItem = $scenes[$scene];
    
    if(!$sceneItem){
        return array("status" => -1, "msg" => "场景参数'scene'错误!");
    }
    $scenekey = $sceneItem[2];
    $sceneName= $sceneItem[0];
    $smsEnable= $config[$scenekey];
    if(!$smsEnable){
        return array("status" => -1, "msg" => "[".$sceneName."]发送短信被关闭'");
    }
    return array("status"=>1,"msg"=>"可以发送短信");
}
/**
 +--------------------------------------------------------------------------
 * 实现生成二维码的功能
 * @param $data 二维码包含的文字内容
 * @param $file 二维码文件路径
 * @param $fname 保存二维码输出的文件名称，*.png
 * @param $logo 二维码中包含的LOGO图片路径
 * @param string $size 二维码的大小
 * @param string $level 二维码编码纠错级别：L、M、Q、H
 * @param int    $padding 二维码边框的间距
 * @param bool   $print 是否保存到文件并在浏览器直接输出，true:同时保存和输出，false:只保存文件
 * return string
 +--------------------------------------------------------------------------
 */
function qrcode($data,$file,$fname,$logo=false,$print=false){
    //echo $print;die;
    //实例化相关表
    $plident = M('plugin');
    //查询配置信息
    $plFind = $plident->where("`pl_code`='qrcode'")->find();
    $option = unserialize($plFind['pl_value']);
    $size   = $option['qsize'];
    $level  = $option['qlevel'];
    $padding= $option['qpadding'];
    //P($option);die;    
    Vendor('phpqrcode.phpqrcode');//引入工具包
    $QRcode = new \QRcode();
    //下面注释了把二维码图片保存到本地的代码,如果要保存图片,用$fileName替换第二个参数false
    $path = "./Public/Uploads/".$file; //图片输出路径
    mkdirs($path);  //若文件夹不存在，自动创建
    //在二维码上面添加LOGO
    if(empty($logo) || $logo === false) {//不包含LOGO
        if($fname==false){
            QRcode::png($data, false, $level, $size, $padding, $print); //直接输出到浏览器，不含LOGO
        }else{
            $fname = $path.'/'.$fname;//合成路径
            QRcode::png($data, $fname, $level, $size, $padding, $print); //直接输出到浏览器，不含LOGO
        }
    }else {//包含LOGO
        if($fname==false){
            die('参数错误');
        }else{
            //生成二维码,保存到文件
            $fname= $path . '/'. $fname; //合成路径
            $logo = "http://".$_SERVER["SERVER_NAME"]."/Public/Uploads/".$logo;
        }
        QRcode::png($data, $fname, $level, $size, $padding);
        $QR             = imagecreatefromstring(file_get_contents($fname));
        $logo           = imagecreatefromstring(file_get_contents($logo));
        $QR_width       = imagesx($QR);
        $QR_height      = imagesy($QR);
        $logo_width     = imagesx($logo);
        $logo_height    = imagesy($logo);
        $logo_qr_width  = $QR_width / 5;
        $scale          = $logo_width / $logo_qr_width;
        $logo_qr_height = $logo_height / $scale;
        $from_width     = ($QR_width - $logo_qr_width) / 2;
        imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width, $logo_qr_height, $logo_width, $logo_height);
        if($fname === false) {
            Header("Content-type: image/png");
            imagepng($QR);
        }else{
            if($print === true){
                imagepng($QR, $fname);
                header("Content-type: image/png");//输出到浏览器
                imagepng($QR);
            }else{
                imagepng($QR, $fname);
            }
        }
    }
    return $fname;
}
//判断文件夹是否存在不存在则创建
function mkdirs($dir, $mode = 0777){
    if (is_dir($dir) || @mkdir($dir, $mode)) return TRUE;
    if (!mkdirs(dirname($dir), $mode)) return FALSE;
    return @mkdir($dir, $mode);
}

/**
 +--------------------------------------------------------------------------
 * 实现物流查询的功能
 * @param com 物流编码
 * @param nu  物流号码
 * @param show  String 必需
 * 返回类型：0：返回json字符串，1：返回xml对象，2：返回html对象，3：返回text文本。 如果不填，默认返回json字符串。
 * @param muti String 	必需 	返回信息数量：1:返回多行完整的信息，0:只返回一行信息。 不填默认返回多行。
 * @param order  String 必需 排序：desc：按时间由新到旧排列，asc：按时间由旧到新排列。 不填默认返回倒序（大小写不敏感）
 * return string
 +--------------------------------------------------------------------------
 */
function express($com,$nu){
    header('Content-Type:text/html; charset=utf-8');
    //实例化相关表
    $plident = M('plugin');
    //查询配置信息
    $plFind = $plident->where("`pl_code`='express'")->find();
    $option = unserialize($plFind['pl_value']);
    //查询配置信息
    $url = $option['exurl'];
    $key = $option['exkey'];
    $info= file_get_contents("http://".$url."/applyurl?key=".$key."&com=".$com."&nu=".$nu."&show=2&muti=1&order=desc");
    //dump($info);
    return $info;
}
/**
 +--------------------------------------------------------------------------
 * 实现节假日和休息日的API接口
 * @param $today 当前日期
 * return 0工作日  1休息日  2节假日
 * @data: 2018-04-24
 * @author:XC跃
 +--------------------------------------------------------------------------
 */
function isHoliday(){
    $today = Date('Ymd');
    //获取缓存文件内容
    $cacheDay = S('today');
    //dump($cacheDay);
    if($today == $cacheDay['date'] && $cacheDay['data']!= ''){
        //echo "A".$cacheDay['date'];
        $res = $cacheDay['data'];
    }else{
        //echo "B";
        //生成缓存
        $result = curlget($today);
        $newRes = json_decode($result,1);
        $newRes['date'] = $today;
        //dump($newRes);
        S('today',$newRes); //执行缓存
        $res = $newRes['data'];
    }
    //echo "C".$res;
    return $res;
}
/**
 +--------------------------------------------------------------------------
 * 节假日和休息日：请求接口返回内容
 * @param  string $today [当前日期]
 * @return  string
 +--------------------------------------------------------------------------
 */
function curlget($today){
    //请求参数
    $url  = 'http://tool.bitefu.net/jiari/vip.php';
    $param= array(
        'd'     => $today,
        'apikey'=> '123456',//接口调用密钥 免费apikey 123456
        'type'  => '0',
        'back'  => '',
    );
    //执行请求    
    if(!empty($param))$url=$url.'?'.http_build_query($param);
    $ch = curl_init();
    curl_setopt ($ch, CURLOPT_URL, $url);
    curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT,10);
    $dxycontent = curl_exec($ch);
    curl_close($ch);
    return $dxycontent;
}
/**
 +--------------------------------------------------------------------------
 * 实现获取系统插件微信参数
 * @return  string
 +--------------------------------------------------------------------------
 */
function weixinPlugin(){
    //实例化相关表
    $plident = M('plugin');
    //插件配置参数
    $plFind = $plident->where("`pl_code`='weixin'")->find();
    $option = unserialize($plFind['pl_value']);
    //dump($option);die;
    // $appid  = $option['appid'];
    // $mchid  = $option['mchid'];
    // $key    = $option['key'];
    // $secret = $option['appsecret'];
    // $weburl = $option['weburl'];
    return $option;
}



















// /**
// +--------------------------------------------------------------------------
//  * 实现发送邮箱邮件
//  * @param $receiver 接收者
//  * @param $title    标题
//  * @param $message 内容
//  * @data: 2017-12-28
//  * @author: wjl
// +--------------------------------------------------------------------------
//  */
// function send_smtp($receiver,$title,$message){
//     $pident = M('Plugin');
//     $list = $pident->where("`p_code`='smtp'")->find();
//     $option = unserialize($list['p_config_value']);
//     vendor('phpmailer.Email');//使用Vendor加载第三方类库Email
//     $email = new \Email($option);
//     $result = $email->to($receiver)->subject($title)
//         ->message($message)
//         ->send();
//     return $result;
// }
// /**
//  * 水印插件
//  * @param $params  数组
//  * @param $scene   使用场景
//  * @return bool    短信发送成功返回true失败返回false
//  */
// function watermark($url){
//     //查询配置信息
//     $pident = M('Plugin');
//     $list   = $pident->where("`p_code`='mark'")->find();
//     $water  = unserialize($list['p_config_value']);
//     $image  = new \Think\Image();
//     $imgresource = "./Plblic/Uploads/".$url;
//     $image->open($imgresource);
//     //&& $image->width()>$water['mark_width'] && $image->height()>$water['mark_height']
//     if($water['is_mark']==1){
//         if($water['mark_type'] == 'text'){
//             $image->text($water['mark_txt'],'./hgzb.ttf',20,'#000',9)->save($imgresource);
//         }else{
//             $image->water("./Plblic/Uploads/".$water['p_icon'],9,$water['mark_degree'])->save($imgresource);
//         }
//     }
// }

// /**
// +--------------------------------------------------------------------------
//  * 付款到支付宝账户
//  * @param $oid 订单号
//  * @param $user 支付宝账号  支持手机号 邮箱
//  * @param $name 真实姓名
//  * @param $mon 金额 最小0.1
//  * @param $title 标题
//  * @param $con 备注
//  * @date: 2018-01-03
// +--------------------------------------------------------------------------
//  */
// function transfer($oid,$user,$name,$mon,$title='念家香平台',$con){
//     //echo $oid."|".$user."|".$name."|".$mon."|".$title."|".$con;die;
//     //获取管理员SESSION
// //     $aname = $_SESSION['XCAINFO']['ad_name'];
// //     if('admin'!=$aname){
// //         $res = array('status'=>-1,'msg'=>'您不是管理员，非法操作！！！');
// //         exit(json_encode($res));
// //     }
//     Vendor('Transfer.AopClient');
//     Vendor('Transfer.AlipayFundTransToaccountTransferRequest');
//     //获取系统参数
//     $sres = tpCache("sIno");
//     //echo $sres['sReg_pay'];die;
//     if('0'==$sres['zfbsta']){
// 		$res = array('status'=>-1,'msg'=>'支付宝提现通道已关闭，请先开启！！！');
// 		exit(json_encode($res));
// 	}
//     //查询配置信息
//     $pident = M('Plugin');
//     $list   = $pident->where("`p_code`='pay'")->find();
//     $option = unserialize($list['p_config_value']);
//     if(empty($option)){
//         $res = array('status'=>-1,'msg'=>'支付宝插件参数未设置，请先配置参数！！！');
//         exit(json_encode($res));
//     }
//     $aop = new \AopClient ();
//     $aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';
//     $aop->appId = $option['appid'];//应用appid
//     $aop->rsaPrivateKey = $option['privateKey'];
//     $aop->alipayrsaPublicKey= $option['publicKey'];
//     $aop->apiVersion = '1.0';
//     $aop->signType = 'RSA2';
//     $aop->postCharset='utf-8';
//     $aop->format='json';
//     $request = new \AlipayFundTransToaccountTransferRequest();
//     $request->setBizContent("{" .
//         "\"out_biz_no\":\"$oid\"," .
//         "\"payee_type\":\"ALIPAY_LOGONID\"," .
//         "\"payee_account\":\"$user\"," .
//         "\"amount\":\"$mon\"," .
//         "\"payer_show_name\":\"$title\"," .
//         "\"payee_real_name\":\"$name\"," .
//         "\"remark\":\"$con\"" .
//         "}");
//     $result = $aop->execute($request);
//     $responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response";
//     $resultCode = $result->$responseNode->code;
//     if(!empty($resultCode)&&$resultCode == 10000){
//         $res = array('status'=>'1','msg'=>'操作成功','oid'=>$oid);
//         return $res;
//     } else {
//         $res = array('status'=>'0','msg'=>'操作失败,原因:'.$result->$responseNode->sub_msg,'oid'=>$oid);
//         return $res;
//     }
// }
// /**
// +--------------------------------------------------------------------------
//  * 支付宝订单退款接口调用
//  * @param $oid   支付表流水号
//  * @author:  wjl
//  * @date: 2018-01-18
// +--------------------------------------------------------------------------
//  */
// function returnfund($oid){
//     Vendor('Returnfund.AopClient');
//     Vendor('Returnfund.AlipayTradeRefundRequest');
//     $uid = $_SESSION['njxUid'];
//     //查询配置信息
//     $pident = M('Plugin');
//     $list   = $pident->where("`p_code`='returnfund'")->find();
//     $option = unserialize($list['p_config_value']);
//     if(empty($option)){
//         $res = array('status'=>-1,'msg'=>'支付宝插件参数未设置，请先配置参数！！！');
//         exit(json_encode($res));
//     }
//     //实例化相关表
//     $dident = M('group_odetail');
//     //查询订单信息
//     $olist = $dident->where("de_batch='".$oid."' and de_uid='".$uid."' and de_ptype=1 and de_pstate=1 and de_state=3")->find();
//     if(empty($olist)){
//         $res = array('status'=>-1,'msg'=>'该订单不存在');
//         exit(json_encode($res));
//     }
//     $aop = new \AopClient ();
//     $aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';//退款接口
//     $aop->appId = $option['appid'];//开发平台应用ID
//     $aop->rsaPrivateKey = $option['privateKey'];//开发者秘钥
//     $aop->alipayrsaPublicKey = $option['publicKey'];//支付宝公钥
//     $aop->apiVersion = '1.0';
//     $aop->signType = 'RSA2';
//     $aop->postCharset='UTF-8';
//     $aop->format='json';//返回值类型  只支持这个
//     $request = new \AlipayTradeRefundRequest();
//     $request->setBizContent("{" .
//         "\"out_trade_no\":\"$oid\"," .//订单支付时传入的商户订单号,
//         "\"refund_amount\":$olist[de_paymon]," .//需要退款的金额，该金额不能大于订单金额,单位为元，支持两位小数
//         "\"refund_reason\":\"团购失败退款\"," .//退款的原因说明
//         "\"out_request_no\":\"HZ01RF001\"," .//标识一次退款请求，同一笔交易多次退款需要保证唯一，如需部分退款，则此参数必传
//         "\"operator_id\":\"OP001\"," .//商户的操作员编号(可选)
//         "\"store_id\":\"NJ_S_001\"," .//商户的门店编号(可选)
//         "\"terminal_id\":\"NJ_T_001\"" .//商户的终端编号(可选)
//         "  }");
//     $result = $aop->execute($request);
//     $responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response";
//     $resultCode = $result->$responseNode->code;
//     if(!empty($resultCode)&&$resultCode == 10000){
//         //退款成功
//         $data['de_state'] = 4;
//         $dident->where("de_batch='".$oid."'")->save($data);
//         $res = array('status' => 1);
//         return $res;
//     } else {
//         //退款失败
//         $reason = (empty($result['err_code_des'])?$result['return_msg']:$result['err_code_des']);
//         $res = array('status' => -1, 'info' => $reason);
//         return $res;
//     }
// }
// /**
// +--------------------------------------------------------------------------
//  * 两张图片合成功能
//  * @param $path1 背景图片路径
//  * @param $path2 定位路片路径
//  * @param $x     X坐标
//  * @param $y     y坐标
//  +-------------------------------------------------------------------------
//  * imagecopymerge — 拷贝并合并图像的一部分
//  * 将 $img2 图像中坐标从 0，0 开始，
//  * 宽度为 $img2Width，高度为 $img2Hight
//  * 的一部分拷贝到 $img1 图像中坐标为 x 和 y 的位置上。
//  * 两图像将根据 最后一个值 来决定合并程度，其值范围从 0 到 100
//  +-------------------------------------------------------------------------
//  * @author:  wjl
//  * @date: 2018-01-18
// +--------------------------------------------------------------------------
//  */
// function synthetic($path1,$path2,$x,$y){
//     //imagecreatefromstring从字符串中的图像流新建一图像
//     $img1 = imagecreatefromstring(file_get_contents($path1));
//     $img2 = imagecreatefromstring(file_get_contents($path2));
//     //list —把数组中的值赋给一组变量
//     list($img2Width, $img2Hight) = getimagesize($path2);
//     imagecopymerge($img1, $img2, $x, $y, 0, 0, $img2Width, $img2Hight, 100);
//     imagejpeg($img1,$path2);
// }
//function tui($oid,$mon){
//    Vendor('Returnfund.AopClient');
//    Vendor('Returnfund.AlipayTradeRefundRequest');
//    //查询配置信息
//    $pident = M('Plugin');
//    $list   = $pident->where("`p_code`='returnfund'")->find();
//    $option = unserialize($list['p_config_value']);
//    if(empty($option)){
//        $res = array('status'=>-1,'msg'=>'支付宝插件参数未设置，请先配置参数！！！');
//        exit(json_encode($res));
//    }
//    $aop = new \AopClient ();
//    $aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';//退款接口
//    $aop->appId = $option['appid'];//开发平台应用ID
//    $aop->rsaPrivateKey = $option['privateKey'];//开发者秘钥
//    $aop->alipayrsaPublicKey = $option['publicKey'];//支付宝公钥
//    $aop->apiVersion = '1.0';
//    $aop->signType = 'RSA2';
//    $aop->postCharset='UTF-8';
//    $aop->format='json';//返回值类型  只支持这个
//    $request = new \AlipayTradeRefundRequest();
//    $request->setBizContent("{" .
//        "\"out_trade_no\":\"$oid\"," .//订单支付时传入的商户订单号,
//        "\"refund_amount\":$mon," .//需要退款的金额，该金额不能大于订单金额,单位为元，支持两位小数
//        "\"refund_reason\":\"退款\"," .//退款的原因说明
//        "\"out_request_no\":\"HZ01RF001\"," .//标识一次退款请求，同一笔交易多次退款需要保证唯一，如需部分退款，则此参数必传
//        "\"operator_id\":\"OP001\"," .//商户的操作员编号(可选)
//        "\"store_id\":\"NJ_S_001\"," .//商户的门店编号(可选)
//        "\"terminal_id\":\"NJ_T_001\"" .//商户的终端编号(可选)
//        "  }");
//    $result = $aop->execute($request);
//    $responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response";
//    $resultCode = $result->$responseNode->code;
//    if(!empty($resultCode)&&$resultCode == 10000){
//        echo "1";
//    } else {
//        dump($result);
//    }
//}